package org.person.gift.query;

import lombok.Data;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * 封装查询数据内容的返回对象
 * @param <T>
 */
@Data
public class QueryResult<T> extends BaseQuery{
    //返回数据总数
    private Long total=0L;
    private List<T> dataList = new ArrayList<T>();

    //返回聚合查询的分组数据
    //返回聚合查询之后的shopId,shopName,typeId,typeName;所以返回类型存储是（id,name）
    //按照shopId查询拥有多少组，每组多少数量
    //定义一个key--value对应的键值对，Object对于存储任何类型都可以，这样有利于资源的再利用
    private Map<String,Object> data;

    public QueryResult(){

    }


    public QueryResult(Long total, List<T> dataList){
        this.total = total;
        this.dataList = dataList;
    }

    public QueryResult(Long total, List<T> dataList, Map<String, Object> data) {
        this.total = total;
        this.dataList = dataList;
        this.data = data;
    }

    public QueryResult(long total, ArrayList<T> carShoppings, Map<String, List<T>> map) {
    }
}
